home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacPeople 2003 February 1
/
MACPEOPLE-2003-02-01.ISO.7z
/
MACPEOPLE-2003-02-01.ISO
/
ぶらりオンラインウェアの旅
/
おしゃべり漂流記
/
xGates
/
xGates 1.2 Source Code.sit
/
xGates 1.2 Source Code
/
externs.h
< prev
next >
Wrap
Text File
|
2002-12-08
|
8KB
|
315 lines
/*
xGates -- Stunningly entertaining action game for MacOS Classic / MacOS X
Copyright (C) 2002 Sveinbjorn Thordarson <paladeen@soth.zoneit.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
externs.h
*/
#pragma once
#include "DrawSprocket.h"
#include "definitions.h"
#include "structures.h"
#pragma mark - Colors
//Colors
extern RGBColor myBlackColor;
extern RGBColor myWhiteColor;
extern RGBColor myRedColor;
extern RGBColor myGreenColor;
extern RGBColor myBlueColor;
extern RGBColor myVeryLightGreyColor;
extern RGBColor myLightGreyColor;
extern RGBColor myGrayColor;
extern RGBColor myDarkGrayColor;
extern RGBColor myGrayBlueColor;
#pragma mark - offscreen pic sizes
//rects for offworld pics to copy from
////////////////////////////////////////
extern Rect poofSizes[5];
extern Rect highscoreSize;
extern Rect gameTitleSize;
extern Rect dojSize;
extern Rect macIconSizes[2];
extern Rect billIconSize;
extern Rect chainsawSizes[2];
extern Rect chainsawBigSize;
extern Rect cornerSize;
//bill animation pics
extern Rect billRects[6];
//pic rects for blitting mac sprites
extern Rect macRects[10][6];
extern Rect macScreenRects[10];
//splash buttons
extern Rect splashButtonSizes[6];
extern Rect scoreNamePicSize;
extern Rect haukurSplashSize;
extern Rect haukurHeadSize;
extern Rect haukurWinSize;
extern Rect sothPicSize;
#pragma mark - Onscreen pic rects
//actual onscreen rects for pics
extern Rect splashButtonRects[6];
extern Rect dojCountUpdateRect;
extern Rect billCountUpdateRect;
extern Rect scoreCountUpdateRect;
extern Rect gamePausedPicRect;
extern Rect fpsRect;
#pragma mark - Bill Start Locs
//start locs for bills
extern Point billStartLocs[8];
extern Rect updateRects[kMaxUpdateRects];
extern short gNumUpdateRects;
#pragma mark - App glob vars
//app vars
extern short gDone;
extern short gPlaying;
extern short gWhere;
//in game, glob vars
extern short pauseTime;
extern short dojCooldown;
extern short levelScore;
extern short cheated;
extern short currentLevel;
extern short currentBillSpeed;
extern short lastBillStartLoc;
extern short billsInLevel;
extern short levelCompleted;
extern short numOfBills;
extern short numOfSteves;
extern short numOfDojs;
extern short numOfPoofs;
extern short weaponState;
//mouse game vars
extern short mouseDownLast;
extern short mouseCount;
extern short mouseCountdown;
extern short mouseJammed;
#pragma mark - Vital structures
//contains data about the current player
extern PlayerStruct player;
//game preferences
extern PrefsStruct prefs;
//data on Dept. of Justices in level
extern DojStruct dojs[2];
//poofs in level
extern PoofStruct poofs[kMaxPoofLimit];
//bills structure - keeps track of all bills in level
extern BillStruct bills[10];
//this is the struct that keeps track of Steve. Ironically enough, it's a BillStruct
extern BillStruct steve;
//levels structure
extern LevelStruct levels[kNumOfLevels];
extern FSSpec prefsFile;
extern Rect gameScreenSize;
extern Rect barRect;
extern Rect winRect;
extern Rect screenSize;
#pragma mark - Menus
//menus
extern MenuHandle appleMenu;
extern MenuHandle fileMenu;
extern MenuHandle editMenu;
extern MenuHandle optionsMenu;
extern MenuHandle geekOptionsMenu;
#pragma mark - PixMaps
extern PixMapHandle billPix;
extern GWorldPtr billPtr;
extern PixMapHandle stevePix;
extern GWorldPtr stevePtr;
extern PixMapHandle workMapPix;
extern GWorldPtr workMapPtr;
extern PixMapHandle macPix[10];
extern GWorldPtr macPtr[10];
extern PixMapHandle chainSawPix;
extern GWorldPtr chainSawPtr;
extern PixMapHandle chainSawBigPix;
extern GWorldPtr chainSawBigPtr;
extern PixMapHandle splashPix;
extern GWorldPtr splashPtr;
extern PixMapHandle highScorePix;
extern GWorldPtr highScorePtr;
extern PixMapHandle buttonsPix;
extern GWorldPtr buttonsPtr;
extern PixMapHandle deptOfJusticePix;
extern GWorldPtr deptOfJusticePtr;
extern PixMapHandle macIconPix;
extern GWorldPtr macIconPtr;
extern PixMapHandle billIconPix;
extern GWorldPtr billIconPtr;
extern PixMapHandle deptOfJusticeIconPix;
extern GWorldPtr deptOfJusticeIconPtr;
extern PixMapHandle poofPix;
extern GWorldPtr poofPtr;
extern PixMapHandle sothPix;
extern GWorldPtr sothPtr;
extern PixMapHandle mousePix;
extern GWorldPtr mousePtr;
extern PixMapHandle keyboardPix;
extern GWorldPtr keyboardPtr;
extern PixMapHandle gamePausedPix;
extern GWorldPtr gamePausedPtr;
extern PixMapHandle cornerPix[2];
extern GWorldPtr cornerPtr[2];
extern PixMapHandle scoreNameRectPix;
extern GWorldPtr scoreNameRectPtr;
extern PixMapHandle haukurSplashPix;
extern GWorldPtr haukurSplashPtr;
extern PixMapHandle haukurHeadPix;
extern GWorldPtr haukurHeadPtr;
extern PixMapHandle haukurWinPix;
extern GWorldPtr haukurWinPtr;
extern Boolean gOS;
//SOUNDS
#pragma mark - Sounds
//weapon sounds
extern Handle chainsawSnd;
extern Handle jammedSnd;
//bill sounds
extern Handle billScreamSnd;
extern Handle billIndignantSnd;
//steve sounds
extern Handle steveAppearsSnd;
extern Handle steveScreamSnd;
//computer sounds
extern Handle macOSLoadedSnd;
extern Handle winXPLoadedSnd;
//dept of justice sounds
extern Handle dojAppearsSnd;
extern Handle dojCaughtSnd;
//other sounds
extern Handle bonkSnd;
extern Handle zoomSnd;
extern Handle poofSnd;
extern Handle gongSnd;
extern Handle beepSnd;
//game sounds
extern Handle gameOverSnd;
extern Handle gamePausedSnd;
extern Handle yeahSnd;
extern Handle killSomeBillSnd;
extern Handle goodJobSound;
//music sounds
extern Handle musicSounds[6];
//game sound channels
extern SndChannelPtr weaponSndChannel;
extern SndChannelPtr billSndChannel;
extern SndChannelPtr steveSndChannel;
extern SndChannelPtr computerSndChannel;
extern SndChannelPtr dojSndChannel;
extern SndChannelPtr otherSndChannel;
//music channel
extern SndChannelPtr musicSndChannel;
extern Rect textFieldRect;
extern TEHandle playerNameTextField;
extern Str255 playerName;
// Set all context attributes
extern DSpContextReference gDisplayContext;
extern DSpContextAttributes gDisplayAttributes;